<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //变量可以先使用再声明
        // 变量声明提升只提升声明，不提升赋值
        alert(a); //变量虽然在后见定义，但是可以提升。不过只能提升定义，不提升值
        var a = 12;//虽然后面定义并赋值，但中只有定义提升了
        // 所以最后的输出不会报错，也不会是12，而是undefined
        alert(a);//由于前面赋值了，现在输出值12
    </script>
</body>
</html>